package com.easyoffer.service;

import com.easyoffer.common.BaseResponse;
import com.easyoffer.model.dto.user.UserLoginRequest;
import com.easyoffer.model.dto.user.UserRegisterRequest;
import com.easyoffer.model.dto.user.UserUpdateRequest;
import com.easyoffer.model.entity.User;
import com.baomidou.mybatisplus.extension.service.IService;
import com.easyoffer.model.vo.UserVO;

import javax.servlet.http.HttpServletRequest;
import java.util.List;

/**
* @author 何文斌
* @description 针对表【user(用户)】的数据库操作Service
* @createDate 2025-03-15 21:09:28
*/

public interface UserService extends IService<User> {

    BaseResponse<Long> userRegister(UserRegisterRequest registerRequest);

    BaseResponse<UserVO> userLogin(UserLoginRequest loginRequest, HttpServletRequest request);

    UserVO getLoginUser(HttpServletRequest request);

    BaseResponse<Integer> updateUser(UserUpdateRequest updateRequest, HttpServletRequest request);

    boolean isAdmin(HttpServletRequest request);
    Boolean userSignIn(Long userId, HttpServletRequest request);

    List<Integer> getUserSignInRecord(Integer year, Long userId, HttpServletRequest request);
}
